์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ด๋๋ฆฌ AST ์์ถ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ชจ๋ ํฌ๊ธฐ ๊ฐ์์ ๋ฏธ์น๋ ์ํฅ์ ์์๋ณด๊ณ , ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์ํ ์น ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ํ์ํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ด๋๋ฆฌ AST ์์ถ: ์ ์ธ๊ณ ์ ์ก์ ์ํ ๋ชจ๋ ํฌ๊ธฐ ์ค์ด๊ธฐ
์ค๋๋ ๋น ๋ฅด๊ฒ ๋ณํํ๋ ๋์งํธ ์ธ์์์ ์น์ฌ์ดํธ ์ฑ๋ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ํต์ฌ ์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค์ด๋ก๋ํ๊ณ ํ์ฑํด์ผ ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋์ ํฌ๊ธฐ์ ๋๋ค. ๋ชจ๋์ด ํด์๋ก ๋ก๋ฉ ์๊ฐ์ด ๊ธธ์ด์ ธ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ํนํ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๋ฆฌ๊ฑฐ๋ ์ฑ๋ฅ์ด ๋ฎ์ ๊ธฐ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์์๊ฒ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ์ด๋ฌํ ์ํฅ์ ๋ค์ํ ๋คํธ์ํฌ ์กฐ๊ฑด๊ณผ ๊ธฐ๊ธฐ ์ฑ๋ฅ์ ๊ฐ์ง ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ๊ณ ๋ คํ ๋ ๋์ฑ ์ฆํญ๋ฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ด๋๋ฆฌ AST(์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ) ์์ถ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๊ธฐ์ ๋ก ๋ถ์ํ๊ณ ์์ต๋๋ค.
๋ฌธ์ ์ดํดํ๊ธฐ: ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํฌ๊ธฐ
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๋ํด ์์๋ณด๊ธฐ ์ ์, ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํฌ๊ธฐ๊ฐ ์ ์ค์ํ์ง ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ์ต์ํ(minification)์ gzip ์์ถ ํ์๋ ํนํ ๋ณต์กํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ฌ์ ํ ์๋นํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ด ํฌ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ก ์ง์ ์ด์ด์ง๋๋ค:
- ๋ค์ด๋ก๋ ์๊ฐ ์ฆ๊ฐ: ํ์ผ์ด ํด์๋ก ๋ค์ด๋ก๋ ์๊ฐ์ด ๊ธธ์ด์ ธ ์ด๊ธฐ ํ์ด์ง ๋ก๋ ์๊ฐ์ ์ํฅ์ ์ค๋๋ค. ์ด๋ ํนํ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ ๋์ญํญ์ด ์ ํ๋ ์ง์ญ์ ์ฌ์ฉ์์๊ฒ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ธ๋์ ์๊ณจ ์ง์ญ์์ 2G ์ฐ๊ฒฐ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๋ ์ฌ์ฉ์๋ฅผ ์๊ฐํด ๋ณด์ธ์. ํฌ๋ก๋ฐ์ดํธ ํ๋ํ๋๋ฅผ ์ ์ฝํ๋ ๊ฒ์ด ๊ทธ๋ค์ ๊ฒฝํ์ ํฌ๊ฒ ํฅ์์ํต๋๋ค.
- ํ์ฑ ์๊ฐ ์ฆ๊ฐ: ๋ค์ด๋ก๋๋ ํ, ๋ธ๋ผ์ฐ์ ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํ์ฑํ๊ณ ์ปดํ์ผํด์ผ ํฉ๋๋ค. ํ์ผ์ด ํด์๋ก ๋ ๋ง์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ๊ณผ ์๊ฐ์ด ํ์ํ๋ฉฐ, ์ด๋ ํ์ด์ง ๋ ๋๋ง์ ๋์ฑ ์ง์ฐ์ํต๋๋ค. ๊ธฐ๊ธฐ๋ง๋ค CPU ์ฑ๋ฅ์ ๋งค์ฐ ๋ค๋ฆ ๋๋ค. ๊ตฌํ ์๋๋ก์ด๋ ํฐ์ ์ต์ ๊ณ ๊ธ ์ค๋งํธํฐ์ ๋นํด ๋์ผํ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฑํ๋ ๋ฐ ๋ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์๋น ์ฆ๊ฐ: ํ์ฑ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํฉ๋๋ค. ์ฝ๋๋ฒ ์ด์ค๊ฐ ํด์๋ก ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋์์ ธ, ํนํ ๋ฆฌ์์ค๊ฐ ์ ํ๋ ๊ธฐ๊ธฐ์์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค.
- SEO์ ๋ฏธ์น๋ ์ํฅ: ๊ตฌ๊ธ๊ณผ ๊ฐ์ ๊ฒ์ ์์ง์ ํ์ด์ง ๋ก๋ ์๋๋ฅผ ์์ ๊ฒฐ์ ์์ธ์ผ๋ก ๊ณ ๋ คํฉ๋๋ค. ์น์ฌ์ดํธ๊ฐ ๋๋ฆฌ๋ฉด ๊ฒ์ ์์๊ฐ ๋ฎ์์ง ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๋ ๊ฒ์ ์ ์ธ๊ณ์ ์ผ๋ก ๋น ๋ฅด๊ณ ๋ฐ์์ฑ์ด ๋ฐ์ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๊ธฐ ์ํ ํต์ฌ์ ์ธ ์ต์ ํ ์ ๋ต์ ๋๋ค.
์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ(AST)๋ ๋ฌด์์ธ๊ฐ?
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ์ดํดํ๋ ค๋ฉด ๋จผ์ ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ(AST)์ ๊ฐ๋ ์ ํ์ ํด์ผ ํฉ๋๋ค. AST๋ ์์ค ์ฝ๋์ ๊ตฌ๋ฌธ ๊ตฌ์กฐ๋ฅผ ํธ๋ฆฌ ํํ๋ก ํํํ ๊ฒ์ ๋๋ค. ๋ณธ์ง์ ์ผ๋ก, ์ด๋ ์ปดํ์ผ๋ฌ(๋๋ ์ด ๊ฒฝ์ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง)๊ฐ ์ฝ๋์ ์๋ฏธ๋ฅผ ์ดํดํ๋ ๊ตฌ์กฐํ๋ ๋ฐฉ์์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ์คํ๋ ๋, ์์ง์ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ฅผ ๊ฑฐ์นฉ๋๋ค(๊ฐ์ํ๋ ์ค๋ช ):
- ์ดํ ๋ถ์/ํ ํฐํ: ์ฝ๋๊ฐ ํ ํฐ(์: ํค์๋, ์ฐ์ฐ์, ๋ณ์)์ ์คํธ๋ฆผ์ผ๋ก ๋ถํด๋ฉ๋๋ค.
- ํ์ฑ: ํ ํฐ๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด์ ๋ฌธ๋ฒ ๊ท์น์ ๋ฐ๋ผ ํ์ฑ๋์ด AST๋ก ๋ฐฐ์ด๋ฉ๋๋ค.
- ํด์/์ปดํ์ผ: ์ด AST๋ ๊ธฐ๊ณ ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ์ง์ ํด์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
AST๋ ๋ณ์ ์ ์ธ, ํจ์ ํธ์ถ, ์ ์ด ํ๋ฆ๋ฌธ ๋ฑ ์ฝ๋์ ๊ตฌ์กฐ์ ๋ํ ๊ท์คํ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. Babel์ด๋ Terser์ ๊ฐ์ ๋๊ตฌ๋ ํธ๋์คํ์ผ๋ง์ด๋ ์ต์ํ์ ๊ฐ์ ์์ ์ ์ํด AST๋ฅผ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉํฉ๋๋ค.
๋ฐ์ด๋๋ฆฌ AST ์์ถ: ํต์ฌ ์์ด๋์ด
์ต์ํ๋ gzip๊ณผ ๊ฐ์ ์ ํต์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ์์ถ ๊ธฐ์ ์ ์ฃผ๋ก ์ฝ๋์ ํ ์คํธ ๊ธฐ๋ฐ ํํ์ ์ค์ด๋ ๋ฐ ์ด์ ์ ๋ง์ถฅ๋๋ค. ์ต์ํ๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๊ณ ๋ณ์ ์ด๋ฆ์ ์ค์ด๋ฉฐ, gzip์ ๋ฌด์์ค ๋ฐ์ดํฐ ์์ถ์ ์ฌ์ฉํ์ฌ ํ์ผ ํฌ๊ธฐ๋ฅผ ๋์ฑ ์ค์ ๋๋ค. ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ทจํฉ๋๋ค.
ํ ์คํธ ๊ธฐ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ง์ ์์ถํ๋ ๋์ , ๋ฐ์ด๋๋ฆฌ AST ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค:
- ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ AST๋ก ๋ณํ: ์ด๋ Babel์ด๋ Terser์ ๊ฐ์ ๋๊ตฌ์์ ์ฌ์ฉ๋๋ ๊ฒ๊ณผ ๋์ผํ AST์ ๋๋ค.
- AST๋ฅผ ๋ฐ์ด๋๋ฆฌ ํ์์ผ๋ก ์ธ์ฝ๋ฉ: ์ผ๋ฐ์ ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ํํ๋๋ AST๋ฅผ ์์ถ๋ ๋ฐ์ด๋๋ฆฌ ํํ์ผ๋ก ์ง๋ ฌํํฉ๋๋ค. ์ด ํํ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ธ์ฝ๋ฉ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ํฌ๊ธฐ๋ฅผ ์ต์ํํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ด๋๋ฆฌ AST ์์ถ ํด์ : ๋ธ๋ผ์ฐ์ ๋ ์์ถ๋ ๋ฐ์ด๋๋ฆฌ AST๋ฅผ ์์ ํ๊ณ ์์ถ ํด์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์๋ณธ AST๋ฅผ ์ฌ๊ตฌ์ฑํฉ๋๋ค. ์ด ์ฌ๊ตฌ์ฑ๋ AST๋ ํ์ฑ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ฐ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์์ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ํต์ฌ ์ฅ์ ์ AST์ ๊ตฌ์กฐํ๋ ํน์ฑ์ ํ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด ๊ธฐ์ ๋ณด๋ค ํจ์ฌ ๋ ๋์ ์์ถ๋ฅ ์ ๋ฌ์ฑํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ์ด๋๋ฆฌ ํ์์ ํ ์คํธ ๊ธฐ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ณด๋ค AST์ ์ ๋ณด๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ํํํ ์ ์์ต๋๋ค.
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ์ด์
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ง ๊ฐ๋ ฅํ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค:
- ํ๊ธฐ์ ์ธ ๋ชจ๋ ํฌ๊ธฐ ๊ฐ์: ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ธฐ์กด์ ์ต์ํ ๋ฐ gzip๋ง ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋์ ์์ถ๋ฅ ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ์ด๋ ๋ค์ด๋ก๋ ์๊ฐ ๋จ์ถ๊ณผ ํ์ด์ง ๋ก๋ ์ฑ๋ฅ ํฅ์์ผ๋ก ์ง์ ์ด์ด์ง๋๋ค. ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ๊ธฐ์กด ๋ฐฉ๋ฒ๋ณด๋ค 20%์์ 40%๊น์ง ์์ถ๋ฅ ์ด ๊ฐ์ ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
- ํ์ฑ ์๊ฐ ๋จ์ถ: ๋ฏธ๋ฆฌ ํ์ฑ๋ AST๋ฅผ ์ ๋ฌํจ์ผ๋ก์จ ๋ธ๋ผ์ฐ์ ๋ ํ์ฑ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ฐ๊ณ ๊ท์คํ CPU ์๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค. ์ด๋ ํนํ ์ฑ๋ฅ์ด ๋ฎ์ ๊ธฐ๊ธฐ์์ ๋์ ๋๋ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ด ์ด์ ์ ์ฒด๊ฐ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์บ์ ํจ์จ์ฑ ํฅ์: ๋ชจ๋์ด ์์์๋ก ๋ธ๋ผ์ฐ์ ์ CDN์ ์บ์๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ ธ ํ์ ๋ฐฉ๋ฌธ ์ ๋ค์ด๋ก๋ ์๊ฐ์ ๋์ฑ ์ค์ผ ์ ์์ต๋๋ค. Cloudflare๋ Akamai์ ๊ฐ์ CDN์ ๊ธ๋ก๋ฒ ์ฝํ ์ธ ์ ์ก์์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
- ๋ณด์ ๊ฐํ: ์ฃผ๋ ๋ชฉํ๋ ์๋์ง๋ง, ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ์ ์์ ์ธ ํ์์๊ฐ ์ฝ๋๋ฅผ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋งํ๋ ๊ฒ์ ์ฝ๊ฐ ๋ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
์ฃผ์ ๋ฐ์ด๋๋ฆฌ AST ์์ถ ์๊ณ ๋ฆฌ์ฆ ๋ฐ ๋๊ตฌ
๋ช ๊ฐ์ง ๋ฐ์ด๋๋ฆฌ AST ์์ถ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ธ๊ธฐ ์๋ ๋ช ๊ฐ์ง ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- JSC: JSC๋ Safari์์ ์ฌ์ฉํ๋ JavaScriptCore ๋ฐ์ดํธ์ฝ๋ ํ์์ ๋๋ค. ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ฐ์ดํธ์ฝ๋๋ก ๋ฏธ๋ฆฌ ์ปดํ์ผํ๋๋ฐ, ์ด๋ ๋ฐ์ด๋๋ฆฌ AST์ ์ ์ฌํฉ๋๋ค. Apple์ ์์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ฑ๋ฅ ์ต์ ํ์ ๋ง์ ํฌ์๋ฅผ ํ๊ณ ์์ผ๋ฉฐ, JSC๋ ๊ทธ ๋ ธ๋ ฅ์ ๊ฒฐ์ค ์ค ํ๋์ ๋๋ค.
- V8์ ์ฝ๋ ์บ์ฑ: Chrome ๋ฐ Node.js์์ ์ฌ์ฉํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ธ V8 ๋ํ ๋ฐ์ด๋๋ฆฌ AST ์์ถ๊ณผ ๊ด๋ จ๋ ์ฝ๋ ์บ์ฑ ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๋์ผํ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํ์ ๋ก๋ํ ๋ ํ์ฑ ๋ฐ ์ปดํ์ผ ์๊ฐ์ ์ค์ฌ์ค๋๋ค.
- ์ฌ์ฉ์ ์ ์ ์๋ฃจ์ : ๋๋ฆฌ ์ฌ์ฉ๋์ง๋ ์์ง๋ง, ํน์ ์๊ตฌ์ ๋ง์ถฐ ์ฌ์ฉ์ ์ ์ ๋ฐ์ด๋๋ฆฌ AST ์์ถ ์๋ฃจ์ ์ ๊ฐ๋ฐํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ปดํ์ผ๋ฌ ๊ธฐ์ ๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด๋ถ์ ๋ํ ์๋นํ ์ ๋ฌธ ์ง์์ด ํ์ํฉ๋๋ค.
๊ตฌํ ์ ๊ณ ๋ ค์ฌํญ
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ฌํญ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค:
- ๋ณต์ก์ฑ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ ๊ตฌํ์ ๋ณต์กํ ์ ์์ผ๋ฉฐ ์ปดํ์ผ๋ฌ ๊ธฐ์ ๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด๋ถ์ ๋ํ ์ ๋ฌธ ์ง์์ด ํ์ํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฐ๋ฐ์๋ ์ฒ์๋ถํฐ ์ฌ์ฉ์ ์ ์ ์๋ฃจ์ ์ ๊ตฌ์ถํ๊ธฐ๋ณด๋ค๋ ๊ธฐ์กด ๋๊ตฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
- ๋ธ๋ผ์ฐ์ ์ง์: ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ด๋๋ฆฌ AST ํ์์ ์ง์ํ๋ ๊ฒ์ ์๋๋๋ค. ๋ฐ๋ผ์ ๋ด์ฅ ์ง์์ด ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํ ๋์ฒด ๋ฉ์ปค๋์ฆ์ด ํ์ํฉ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ๊ตฌํ ๋ธ๋ผ์ฐ์ ์ ํ์ค ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ ๊ณตํ์ฌ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ๋น๋ ํ๋ก์ธ์ค ํตํฉ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๋น๋ ํ๋ก์ธ์ค์ ํตํฉ๋์ด์ผ ํฉ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ฐ์ด๋๋ฆฌ AST ํ์์ผ๋ก ๋ณํํ๋ ๋น๋ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. Webpack์ด๋ Parcel๊ณผ ๊ฐ์ ์ต์ ๋ฒ๋ค๋ฌ๋ ์ด ๋ชฉ์ ์ ์ํด ํ๋ฌ๊ทธ์ธ์ด๋ ์ฌ์ฉ์ ์ ์ ๋ก๋๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- ๋๋ฒ๊น : ๋ฐ์ด๋๋ฆฌ AST๋ก ์์ถ๋ ์ฝ๋๋ฅผ ๋๋ฒ๊น ํ๋ ๊ฒ์ ํ์ค ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋๋ฒ๊น ํ๋ ๊ฒ๋ณด๋ค ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์์ค ๋งต์ด ๋์์ด ๋ ์ ์์ง๋ง, ์ผ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ์์๋งํผ ํจ๊ณผ์ ์ด์ง ์์ ์ ์์ต๋๋ค.
- ์ ์ฌ์ ์ธ ํธ๋ ์ด๋์คํ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ด ์ผ๋ฐ์ ์ผ๋ก ์ฑ๋ฅ์ ํฅ์์ํค์ง๋ง, ํนํ ๋งค์ฐ ์์ ๋ชจ๋์ ๊ฒฝ์ฐ ์์ถ ํด์ ์ค๋ฒํค๋๊ฐ ์ด์ ๋ณด๋ค ํด ์ ์์ต๋๋ค. ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ด ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค์ ๋ก ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ์๋์ง ํ์ธํ๋ ค๋ฉด ๋ฒค์น๋งํน์ด ์ค์ํฉ๋๋ค.
์ค์ฉ์ ์ธ ์์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ด ํนํ ์ ์ฉํ ์ ์๋ ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ์์์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
- ๋๊ท๋ชจ ๋จ์ผ ํ์ด์ง ์ ํ๋ฆฌ์ผ์ด์ (SPA): SPA๋ ์ข ์ข ๋๋์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ฏธ๋ฆฌ ๋ค์ด๋ก๋ํ๊ณ ํ์ฑํด์ผ ํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ์ด๊ธฐ ๋ก๋ ์๊ฐ์ ํฌ๊ฒ ์ค์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๋ณต์กํ ์ ํ ์นดํ๋ก๊ทธ์ ์๋ง์ ๋ํํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋๊ท๋ชจ ์ ์์๊ฑฐ๋ ์น์ฌ์ดํธ๋ฅผ ์๊ฐํด ๋ณด์ธ์. ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ๋ฉด ์ด๊ธฐ ํ์ด์ง ๋ก๋ ์๊ฐ์ ๋์ ๋๋ ์ฐจ์ด๋ฅผ ๋ง๋ค์ด ์ฐธ์ฌ๋์ ๋งค์ถ์ ๋์ผ ์ ์์ต๋๋ค.
- ๋ชจ๋ฐ์ผ ์น ์ ํ๋ฆฌ์ผ์ด์ : ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ ์ข ์ข ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ด ์ ํ์ ์ด๊ณ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๋ฆฝ๋๋ค. ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๋ชจ๋ฐ์ผ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฅ์์์ผ ๋ ๋ฐ์์ด ๋น ๋ฅด๊ณ ์ฌ์ฉ์ ์นํ์ ์ผ๋ก ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ญํญ์ด ์ ํ๋ ๊ฐ๋ฐ๋์๊ตญ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ๋ ๋ด์ค ์ฑ์ ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ํฐ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค.
- ํ๋ก๊ทธ๋ ์๋ธ ์น ์ฑ(PWA): PWA๋ ๋ธ๋ผ์ฐ์ ์์ ๋ค์ดํฐ๋ธ ์ฑ๊ณผ ์ ์ฌํ ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ PWA์ ์ฑ๋ฅ์ ํฅ์์์ผ ๋ค์ดํฐ๋ธ ์ฑ๊ณผ ๋ ๊ฒฝ์๋ ฅ ์๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์ํ๋ฆฌ์นด ์ ์ญ์์ ์ฌ์ฉ๋๋ ์ฐจ๋ ๊ณต์ ์๋น์ค์ฉ PWA๋ ์ด๊ธฐ ๋ค์ด๋ก๋ ํฌ๊ธฐ๊ฐ ์์์ง๋ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ์ค์ฌ ์น์ฌ์ดํธ: ์จ๋ผ์ธ ๊ฒ์์ด๋ ๋ฐ์ดํฐ ์๊ฐํ ๋์๋ณด๋์ ๊ฐ์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ํฌ๊ฒ ์์กดํ๋ ๋ชจ๋ ์น์ฌ์ดํธ๋ ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค. ๋ค์ํ ์ธํฐ๋ท ์๋๋ฅผ ๊ฐ์ง ์ ์ธ๊ณ ์ฌ์ฉ์๊ฐ ์ ์ํ๋ ๊ธ๋ก๋ฒ ๊ธ์ต ๋ฐ์ดํฐ ๋์๋ณด๋๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ๊ธฐ์ ์๋ฒฝํ ํ๋ณด์ ๋๋ค.
์ค์ฉ์ ์ธ ํต์ฐฐ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ํต์ฐฐ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฒค์น๋งํน์ผ๋ก ์์ํ๊ธฐ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ๊ธฐ ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฒค์น๋งํนํ์ฌ ํ์ฌ ์ฑ๋ฅ ํน์ฑ์ ํ์ ํ์ธ์. ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํฌ๊ธฐ๊ฐ ๋ณ๋ชฉ ํ์์ ์ผ์ผํค๋ ๋ถ๋ถ์ ์๋ณํ์ธ์. WebPageTest๋ Google PageSpeed Insights์ ๊ฐ์ ๋๊ตฌ๊ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ์ฌ๋ฐ๋ฅธ ๋๊ตฌ ์ ํํ๊ธฐ: ์์ ์ ํ์์ ๊ธฐ์ ์ ๋ฌธ์ฑ์ ๋ง๋ ๋ฐ์ด๋๋ฆฌ AST ์์ถ ๋๊ตฌ๋ฅผ ์ ํํ์ธ์. ๋ธ๋ผ์ฐ์ ์ง์, ๋น๋ ํ๋ก์ธ์ค ํตํฉ, ๋๋ฒ๊น ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์์๋ฅผ ๊ณ ๋ คํ์ธ์. ๊ธฐ์กด ํ๋ฌ๊ทธ์ธ ์ํ๊ณ๋ฅผ ์ํด Webpack์ด๋ Parcel๊ณผ ๊ฐ์ ์ฑ์ํ ๋ฒ๋ค๋ฌ ์ฌ์ฉ์ ๊ณ ๋ คํ์ธ์.
- ๋น๋ ํ๋ก์ธ์ค์ ํตํฉํ๊ธฐ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ ๋๊ตฌ๋ฅผ ๋น๋ ํ๋ก์ธ์ค์ ํตํฉํ์ธ์. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ฐ์ด๋๋ฆฌ AST ํ์์ผ๋ก ๋ณํํ๋ ๋น๋ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ์ด๋ฌํ ๋จ๊ณ๋ฅผ ์๋ํํ์ฌ ์์ถ์ด ์ผ๊ด๋๊ฒ ์ ์ฉ๋๋๋ก ํ์ธ์.
- ์ฒ ์ ํ๊ฒ ํ ์คํธํ๊ธฐ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ ์ ํ๊ฒ ํ ์คํธํ์ธ์. ์ฑ๋ฅ ๊ฐ์ ์ด ์์๋๋ก ์ด๋ฃจ์ด์ก๋์ง, ํธํ์ฑ ๋ฌธ์ ๊ฐ ์๋์ง ํ์ธํ์ธ์. ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ผ๊ด๋ ๊ฒฝํ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ค์ํ ๊ธฐ๊ธฐ์ ๋ธ๋ผ์ฐ์ ์์ ํ ์คํธํ์ธ์.
- ์ฑ๋ฅ ๋ชจ๋ํฐ๋งํ๊ธฐ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ตฌํํ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ธ์. ํ์ด์ง ๋ก๋ ์๊ฐ, ํ์ฑ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ์๋น๋๊ณผ ๊ฐ์ ํต์ฌ ์งํ๋ฅผ ์ถ์ ํ์ธ์. ๋ถ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ์ ํ๋ฅผ ์๋ณํ์ธ์.
- ์ฐจ๋ฑ ์ ๊ณต ๊ณ ๋ คํ๊ธฐ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ ์ฝ๋๋ฅผ ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ์ ๊ทธ๋ ์ง ์์ ๋ธ๋ผ์ฐ์ ์ ๊ฐ๊ฐ ๋ค๋ฅธ ์ฝ๋๋ฅผ ์ ๊ณตํ๋ ์ฐจ๋ฑ ์ ๊ณต(differential serving)์ ๊ตฌํํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ์ ๊ด๊ณ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ด๊ณ ์ ์ฉํ ์ต์ ํ ์ ๋ต์ ๋๋ค.
- ์ต์ ์ ๋ณด ์ ์งํ๊ธฐ: ๋ฐ์ด๋๋ฆฌ AST ์์ถ ๊ธฐ์ ์ ์ต์ ๋ฐ์ ์ ๋ํ ์ ๋ณด๋ฅผ ๊ณ์ ์ ๋ฐ์ดํธํ์ธ์. ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋๊ตฌ๊ฐ ์ง์์ ์ผ๋ก ๊ฐ๋ฐ๋๋ฏ๋ก ์ต์ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํด ์์๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ ๊ณ ๋ธ๋ก๊ทธ๋ฅผ ๊ตฌ๋ ํ๊ณ ๊ด๋ จ ์ปจํผ๋ฐ์ค์ ์ฐธ์ํ์ฌ ์ ๋ณด๋ฅผ ์ป์ผ์ธ์.
์๋ฐ์คํฌ๋ฆฝํธ ์ต์ ํ์ ๋ฏธ๋
๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ต์ ํ์์ ์ค์ํ ์ง์ ์ ๋ํ๋ ๋๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์ ๋ ๋ณต์กํด์ง์ ๋ฐ๋ผ, ๋ฐ์ด๋๋ฆฌ AST ์์ถ๊ณผ ๊ฐ์ ๊ธฐ์ ์ ๋น ๋ฅด๊ณ ๋ฐ์์ฑ์ด ๋ฐ์ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๋ ๋ฐ ๋์ฑ ์ค์ํด์ง ๊ฒ์ ๋๋ค. ๋ค์ดํฐ๋ธ ๋ฐ์ด๋๋ฆฌ AST ํ์์ ๋ํ ๋ธ๋ผ์ฐ์ ์ง์์ด ๊ฐ์ ๋จ์ ๋ฐ๋ผ, ๋ฏธ๋์๋ ํจ์ฌ ๋ ํฐ ์ฑ๋ฅ ํฅ์์ ๊ธฐ๋ํ ์ ์์ต๋๋ค. ๋ํ, ๋ ํจ์จ์ ์ธ ์์ถ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋๊ตฌ์ ๊ฐ๋ฐ์ ๊ณ์ํด์ ๋ชจ๋ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ์ ์ธ๊ณ์ ์ผ๋ก ์น ์ฑ๋ฅ์ ํฅ์์ํฌ ๊ฒ์ ๋๋ค.
๊ฒฐ๋ก
์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๋ชจ๋ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ์น ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ๊ฐ๋ ฅํ ๊ธฐ์ ์ด๋ฉฐ, ํนํ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๋ฆฌ๊ฑฐ๋ ์ฑ๋ฅ์ด ๋ฎ์ ๊ธฐ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์์๊ฒ ์ ์ฉํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ AST์ ์์ถ๋ ๋ฐ์ด๋๋ฆฌ ํํ์ผ๋ก ๋ณํํจ์ผ๋ก์จ, ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ๊ธฐ์กด์ ์ต์ํ ๋ฐ gzip๋ง ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋์ ์์ถ๋ฅ ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ๋ฐ์ด๋๋ฆฌ AST ์์ถ ๊ตฌํ์๋ ์ฝ๊ฐ์ ๋ณต์ก์ฑ์ด ๋ฐ๋ฅด์ง๋ง, ๊ทธ ์ด์ ์ ํนํ ๋๊ท๋ชจ SPA, ๋ชจ๋ฐ์ผ ์น ์ ํ๋ฆฌ์ผ์ด์ , PWA์ ๊ฒฝ์ฐ ์๋นํ ์ ์์ต๋๋ค. ์ด ๊ธ์์ ์ค๋ช ํ ์ค์ฉ์ ์ธ ํต์ฐฐ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด, ๊ฐ๋ฐ์๋ค์ ๋ฐ์ด๋๋ฆฌ AST ์์ถ์ ํ์ฉํ์ฌ ์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ๋ ๋น ๋ฅด๊ณ ๋ฐ์์ฑ์ด ๋ฐ์ด๋ ์น ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค.